Compiling the Functional Data-Parallel Language SaC for Microgrids of Self-Adaptive Virtual Processors
نویسندگان
چکیده
We present preliminary results from compiling the highlevel, functional and data-parallel programming language SaC into a novel multi-core design: Microgrids of Self-Adaptive Virtual Processors (SVPs). The side-effect free nature of SaC in conjunction with its data-parallel foundation make it an ideal candidate for auto-parallelisation. Notwithstanding these favourable pre-conditions, scheduling and data-placement pose major challenges for effective parallelisation of irregular applications because fine-grained dynamic approaches inflict large overheads on conventional architectures. The Microgrid architecture promises a radical shift: thread creation and context switches are implemented in hardware and cause negligible overhead. Likewise, scheduling of tasks to computing resources is catered for by hardware. This paper investigates aspects of the Microgrid architecture which may influence the overall performance of compiled data-parallel programs. In particular, we look at alternative thread creation schemes for ndimensional, data-parallel operations and their effect on overall performance. Furthermore, we investigate the architecture’s capability to cope with workload imbalances within such operations. The paper presents a sequence of experiments on a cycle-accurate emulator of the Microgrid architecture from which we derive some guiding principles for an effective compilation of data parallel operations. Based on these principles, we present a compilation scheme for the data-parallel
منابع مشابه
Designing a new robust control for virtual inertia control in the microgrid with regard to virtual damping
Background and Objectives: Virtual inertia control, as a component of a virtual synchronous generator, is used for the implementation of synchronous generator behaviour in microgrids. In microgrids that include high-capacity distributed generation resources, in addition to virtual inertia, virtual damping can also lead to improvement of frequency stability of the microgrid. The purpose of the c...
متن کاملMobile Haskell: Compiling Lazy Functional Programs for the Java Virtual Machine
This paper shows how lazy functional programs can be made mobile by compiling them for the Java Virtual Machine. The Haskell compiler it describes is based on the h,Gi-machine, which is designed for implementing lazy functional languages on parallel processors. Although this is not the obvious thing to do, it leads to a particularly elegant set of translation rules. Sadly though, the speed of t...
متن کاملAccurate power sharing for parallel DGs in microgrid with various-type loads
Microgrids are nowadays used to produce electric energy with more efficiency and advantage. However, the use of microgrids presents some challenges. One of the main problems of the microgrids widely used in electrical power systems is the control of voltage, frequency and load sharing balance among inverter- based distributed generators (DGs) in islanded mode. Droop method performance degra...
متن کاملAccurate power sharing for parallel DGs in microgrid with various-type loads
Microgrids are nowadays used to produce electric energy with more efficiency and advantage. However, the use of microgrids presents some challenges. One of the main problems of the microgrids widely used in electrical power systems is the control of voltage, frequency and load sharing balance among inverter- based distributed generators (DGs) in islanded mode. Droop method performance degra...
متن کاملTruly Nested Data-Parallelism: Compiling SaC for the MicroGrid Architecture
Data-parallel programming facilitates elegant specification of concurrency. However, the composability of data-parallel operations so far has been constrained by the requirement to have only flat dataparallel operation at runtime. In this paper, we present early results on our work to exploit hardware support for nested concurrency to directly map nested data-parallel operations in high-level s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009